/** @file InGameGUIController.h
 *	@class InGameGUIController
 *  @brief Draws the in-game GUI with updating counters for e.g. time and health
 */
#include "stdafx.h"

#ifndef _InGameGUIController_h_
#define _InGameGUIController_h_

#include "Controller.h"
#include "GUIController.h"
#include "PlayerAvatar.h"
#include <string>
#include <CEGUI/CEGUI.h>
#include <CEGUI/RendererModules/Ogre/CEGUIOgreRenderer.h>

using namespace std;

class InGameGUIController : public GUIController {
public:
	InGameGUIController(Model* model, Ogre::RenderWindow* window, string scheme, string layout);
	virtual ~InGameGUIController();
	virtual bool update(float deltaTime);

	/**
	* @ brief Sets the player avatar for reading info such as health
	*/
	void setPlayerAvatar(PlayerAvatar* avatar);

private:

	/**
	* @brief Constructs the layout
	*/
	void makeGUILayout();

	// @brief the CEGUI window elements
	CEGUI::Window	*m_healthCounter,
					*m_timeCounter;

	int m_timerInt;
	float m_timerSec;
	string m_timerString;

	PlayerAvatar* m_playerAvatar;


};

#endif
